/**
  ************************************* Copyright ******************************
  *'  _      _____  _____  _   _
  *' | |    |  ___||  _  || \ | | (C) Copyright 2019,CHUEnliang-Leon,China, SUST.
  *' | |    | |__  | | | ||  \| |             All Rights Reserved
  *' | |    |  __| | | | || . ` |        By(陕西科技大学电力系统自动化实验室)
  *' | |____| |___ \ \_/ /| |\  |         https://blog.csdn.net/LeonSUST
  *' \_____/\____/  \___/ \_| \_/  Mtto: Today is the first day of the rest of your life.
  *'
  * FileName   : common.h
  * Version    : v1.0
  * Author     : CHUEnliang-Leon
  * Date       : 2019-05-17
  * Description: 程序全局变量定义 模式选择等
  ******************************************************************************
 */


#ifndef __COMMON_H_
#define __COMMON_H_
#include "sys.h"

/**
 *                     +-+-+-+-+-+-+-+-+-+
  **************模式定义|A|T|T|E|N|T|I|O|N| 必须选择一个**********************
                       +-+-+-+-+-+-+-+-+-+
 */
//#define PWMTEST_MODE //模式选择中的常规PWM输出
//#define SLOPE_MODE //模式选择中的斜坡启停模式
#define PWM_ADJUSTABLE_MODE //1-1MHz的PWM频率占空比可调输出
/*******************************************************/

#ifdef SLOPE_MODE
extern long Current;			//当前位置脉冲数
extern long Target;			//目标位置脉冲数
extern long StartSave;			//定位指令刚开始启动时的当前值
extern long DownStartSave;		//开始进入减速时的当前值

extern STATUS_Type RunFlag;	//定位指令脉冲输出执行标志
extern STATUS_Type StopCommand;//定位指令脉冲输出停止命令标志
extern STATUS_Type PlusMinus;	//正负方向标志

extern u32 StartFreq;			//启动频率
extern u32 TargetFreq;			//目标频率
extern u32 UDTimer;			//加减速时间

extern u32 LadderFreq[102];
extern u16 LadderPSC[202];		//加减速0至9级速度/频率预分频值
extern u16 LadderNum;			//加减速速度级数
extern u16 LadderOrderNum;		//加减速速度编号
extern long LadderTarget[202];	//各速度等级目标值
#endif

#ifdef PWM_ADJUSTABLE_MODE
extern int32_t TIM2_PWM_FQ ;     //目标频率        /* TIM2_CH1_PWM输出 频率设置值，1-1000000 */
extern int32_t TIM2_PWM_FQ_Old ;
extern uint16_t TIM2_PWM_Pulse ;          /* TIM2_CH1_PWM输出 占空比设置值，0-100 */
extern uint16_t TIM2_PWM_Pulse_Old;
extern uint16_t TIM2_PWM_Step ; //按键修改频率的步长

extern uint16_t MyuhTimerPrescaler ;
extern uint16_t MyuhTimerPeriod;
extern uint16_t RunFlag;

#endif


#endif
